/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.notaria.guerrasalas.bc;

import com.notaria.guerrasalas.be.Usuario;
import gob.satt.comun.jpa.Command;
import java.util.List;
import javax.persistence.EntityManager;
import oracle.toplink.essentials.config.HintValues;
import oracle.toplink.essentials.config.TopLinkQueryHints;

/**
 *
 * @author Administrador
 */
public class ListarUsuariosCommand implements Command<List<Usuario>> {

    private String login;

    public ListarUsuariosCommand(String login) {
        this.login = login;
    }

    @Override
    public List<Usuario> execute(EntityManager em) throws Exception {
        List<Usuario> usuarios = null;
        if (login != null && !login.trim().equals("")) {
            usuarios = (List<Usuario>) em.createNamedQuery("Usuario.findByLogin")
                    .setParameter("login", "%" + login.toLowerCase() + "%")
                    .setHint(TopLinkQueryHints.REFRESH, HintValues.TRUE)
                    .getResultList();
        } else {
            usuarios = (List<Usuario>) em.createNamedQuery("Usuario.findAll")
                    .setHint(TopLinkQueryHints.REFRESH, HintValues.TRUE)
                    .getResultList();
        }
        return usuarios;
    }
}
